package me.learningandroid.ch2_6.fragmentdemo;

import java.util.ArrayList;
import java.util.List;

// 用来模拟一个数据库链接
public class DataRepository {
    private List<ContactData> data = null;

    // 简单单例模式
    private static DataRepository instance = new DataRepository();

    // 简单单例模式
    private DataRepository() {
        data = new ArrayList<>();
    }

    // 简单单例模式
    public static DataRepository getInstance() {
        return instance;
    }

    /** 列表 */
    public synchronized List<ContactData> listAll() {
        return new ArrayList<>(data);
    }

    /** 通过ID选择 */
    public synchronized  ContactData  selectById(int idx) {
        return data.get(idx);
    }

    /** 更新一行 */
    public synchronized void save(int id, ContactData ele) {
        data.set(id, ele);
    }

    /** 添加一行 */
    public synchronized int add(ContactData ele) {
        data.add(ele);
        return data.size();
    }

    /** 通过id删除 */
    public synchronized void delete(int id) {
        data.remove(id);
    }

    /** 总行数 */
    public synchronized int count() {
        return data.size();
    }

}
